A digitally controlled oscillator (DCO) is an electronic circuit for synthesizing a range of frequencies from a fixed reference clock. The nominal output frequency generated by a DCO is a function of the value of a digital input or control code. DCOs may be used as frequency synthesizers for a variety of electronic circuit-based applications. DCOs are being increasingly employed, for example, in the arenas of wireless communications, mobile digital video broadcasting, fixed cable and satellite TV tuners, digital signal processing, and a host of other radio-frequency and system on-chip circuit designs.
For applications involving conventional wireless communications devices including mobile phones and portable computers, the DCO-produced waveforms may be used to implement functions such as clock and data recovery, carrier wave synthesis, signal encoding/decoding and modulation/demodulation, programmable waveform generation, and the like. Many recent applications involving wireless communications have seen the widespread use of DCOs implemented within digital phase-locked loops (DPLLs) for a radio frequency (RF) local-oscillator (LO). Due to its digital nature, the DCO can offer fast switching between output frequencies, fine frequency setting resolution, and operation over a broad frequency range. DCOs may also offer superior noise rejection over conventional circuit techniques by reducing the number of analog circuit components, and reducing or eliminating noise susceptible parameters such as oscillator control voltages, etc.
As the demand for smaller integrated circuit (IC) DCOs with fast switching between finer output frequency resolution escalates, so too have the problems associated with parasitic circuit values and impedance mismatches for various circuit elements that make up IC DCOs. In practical implementations, linear input codes tend to produce non-linear output frequencies from DCOs—specifically, gaps or instances of overlap in a plot of output frequency versus input control code.
A need persists in the art for effectively identifying and correcting these instances of nonlinearity in a DCO.